import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;

public class Main5 {
    //展示项目内容
    public static void main(String[] args) throws SQLException {
        Scanner scanner = new Scanner(System.in);
        System.out.println("输入要查看的题目的名称");
        String input = scanner.next();
        //创建初始化数据源
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/subjectlyw?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("1234");
        //构造连接
        Connection connection = dataSource.getConnection();
        //构造sql
        String sql = "select * from project where name = \'" + input + "\'";
        PreparedStatement statement = connection.prepareStatement(sql);
        //执行sql
        ResultSet set = statement.executeQuery();
        //遍历结果集合
        if (!set.next()) {
            System.out.println("当前所选题目的项目为空");
            set.close();//set可以认为是查询结果的临时表
            statement.close();
            connection.close();
            return ;
        }
        while (set.next()) {
            //把set想象成一个表格,同时表格的有个表头,初始是,光标指在表的第一行上面
            //当光标指向某一行,可以通过getXXX方法来获得当前这一行的数据
            String name = set.getString("name");
            String desc = set.getString("item");
            String result = set.getString("result");
            int id = set.getInt("id");
            System.out.println(" id  " +id +  " name : " + name + "  desc : " + name + " result : " + result);
            //getXXX方法是取出这一行的指定列的数据,使用的方法要和该列的数据类型匹配
            //参数可以是第几列的下标,也可以是列名
        }
        //释放资源
        set.close();//set可以认为是查询结果的临时表
        statement.close();
        connection.close();
    }
}
